home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / var / lib / dpkg / info / gdm.postinst < prev    next >
Encoding:
Text File  |  2009-04-03  |  2.9 KB  |  100 lines

  1. #!/bin/sh
  2.  
  3. set -e
  4.  
  5. . /usr/share/debconf/confmodule
  6.  
  7. THIS_PACKAGE=gdm
  8. DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager
  9.  
  10. # creating gdm group if he isn't already there
  11. if ! getent group gdm >/dev/null; then
  12.         addgroup --system gdm
  13. fi
  14.  
  15. # creating gdm user if he isn't already there
  16. if ! getent passwd gdm >/dev/null; then
  17.         adduser --system --ingroup gdm --home /var/lib/gdm gdm
  18.         usermod -c "Gnome Display Manager" gdm
  19.         usermod -d "/var/lib/gdm"          gdm
  20.         usermod -g "gdm"                   gdm
  21.         usermod -s "/bin/false"            gdm
  22. fi
  23.  
  24. if [ -d /var/lib/gdm ]; then
  25.   chown -R gdm:gdm /var/lib/gdm
  26.   chmod 0750 /var/lib/gdm
  27. fi
  28.  
  29. # debconf is not a registry, so we only fiddle with the default file if it
  30. # does not exist
  31. if [ ! -e $DEFAULT_DISPLAY_MANAGER_FILE ]; then
  32.   if db_get shared/default-x-display-manager; then
  33.     # workaround debconf passthru bug (#379198)
  34.     if [ -z "$RET" ]; then
  35.       $RET="$THIS_PACKAGE"
  36.     fi
  37.     if [ "$THIS_PACKAGE" != "$RET" ]; then
  38.       echo "Please be sure to run \"dpkg --configure $RET\"."
  39.     fi
  40.     if db_get "$RET"/daemon_name; then
  41.       echo "$RET" > $DEFAULT_DISPLAY_MANAGER_FILE
  42.     fi
  43.   fi
  44. fi
  45. # debconf hangs if gdm gets started below without this
  46. db_stop || true
  47.  
  48. # update-rc.d levels
  49. S=30
  50. K=01
  51.  
  52. if [ "$1" = "configure" ] && dpkg --compare-versions "$2" lt-nl "2.16.1-1"; then
  53.     # since 2.16.1-1, gdm isn't started from S99 anymore
  54.     if [ -e /etc/rc2.d/S99gdm ]; then
  55.         update-rc.d -f gdm remove >/dev/null
  56.         update-rc.d gdm defaults $S $K
  57.     fi
  58. elif [ "$1" = "configure" ] && dpkg --compare-versions "$2" le-nl "2.16.4-1.1"; then
  59.     # since after 2.16.4-1.1, gdm isn't started from S21 anymore
  60.     if [ -e /etc/rc2.d/S21gdm ]; then
  61.         update-rc.d -f gdm remove >/dev/null
  62.         update-rc.d gdm defaults $S $K
  63.     fi
  64. elif [ "$1" = "configure" ] && dpkg --compare-versions "$2" lt-nl "2.20.6-0ubuntu2"; then
  65.     # retroactively fix upgrades from earlier Ubuntu releases
  66.     if [ -e /etc/rc2.d/S13gdm ]; then
  67.         update-rc.d -f gdm remove >/dev/null
  68.         update-rc.d gdm defaults $S $K
  69.     fi
  70. fi
  71.  
  72. if [ "$1" = "configure" ] && [ -n "$2" ] && dpkg --compare-versions "$2" lt "2.20"; then
  73.     # D'uh, that's an ugly hack, but upstream changed the syntax
  74.     # of the quoting
  75.     if grep -q '\\"' /etc/gdm/gdm.conf; then
  76.         echo "WARNING: fixing quotes in /etc/gdm/gdm.conf"
  77.         cp -p /etc/gdm/gdm.conf /etc/gdm/gdm.conf.dpkg-old
  78.         sed -i 's/\\"/"/g' /etc/gdm/gdm.conf
  79.     fi
  80. fi
  81.  
  82. if [ -x /etc/init.d/gdm ]; then
  83.   update-rc.d gdm defaults $S $K >/dev/null 2>&1
  84.   invoke-rc.d gdm reload || true
  85. fi
  86.  
  87. # Automatically added by dh_installmenu
  88. if [ "$1" = "configure" ] && [ -x "`which update-menus 2>/dev/null`" ]; then
  89.     update-menus
  90. fi
  91. # End automatically added section
  92. # Automatically added by dh_scrollkeeper
  93. if [ "$1" = "configure" ] && which scrollkeeper-update >/dev/null 2>&1; then
  94.     scrollkeeper-update -q
  95. fi
  96. # End automatically added section
  97.  
  98.  
  99. exit 0
  100.